﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace NextGenSystems.WHMCS
{
    [DataContract()]
  public class GetTransactionsRS : WHMCSBASE
    {
        #region Attributes

        private int _TotalResults;
        private int _StartNumber;
        private int _NumReturned;
        private List<Transactions> _TransactionsDetails;

        #endregion

        #region Properties

        [DataMember()]
        public List<Transactions> TransactionsDetails
        {
            get { return _TransactionsDetails; }
            set
            {
                if (_TransactionsDetails != value)
                {
                    _TransactionsDetails = value;
                }
            }
        }

        [DataMember()]
        public virtual int TotalResults
        {
            get { return _TotalResults; }
            set
            {
                if (_TotalResults != value)
                {
                    _TotalResults = value;
                    NotifyPropertyChanged("TotalResults");
                }
            }
        }

        [DataMember()]
        public virtual int StartNumber
        {
            get { return _StartNumber; }
            set
            {
                if (_StartNumber != value)
                {
                    _StartNumber = value;
                    NotifyPropertyChanged("StartNumber");
                }
            }
        }

        [DataMember()]
        public virtual int NumReturned
        {
            get { return _NumReturned; }
            set
            {
                if (_NumReturned != value)
                {
                    _NumReturned = value;
                    NotifyPropertyChanged("NumReturned");
                }
            }
        }

        #endregion

    }

    public class Transactions
    {
        #region Attributes

        private String _Id;
        private String _Userid;
        private String _Currency;
        private String _Gateway;
        private String _Date;
        private String _Description;
        private String _Amountin;
        private String _Fees;
        private String _Amountout;
        private String _Rate;
        private String  __Transid;
        private String _Invoiceid;
        private String _Refundid;

        #endregion

        #region Properties

        [DataMember()]
        public String Id
        {
            get { return _Id; }
            set
            {
                if (_Id != value)
                { _Id = value; }
            }
        }

        [DataMember()]
        public String Userid
        {
            get { return _Userid; }
            set
            {
                if (_Userid != value)
                {
                    _Userid = value;
                }
            }
        }

        [DataMember()]
        public String Currency
        {
            get { return _Currency; }
            set
            {
                if (_Currency != value)
                { _Currency = value; }
            }
        }

        [DataMember()]
        public String Gateway
        {
            get { return _Gateway; }
            set
            {
                if (_Gateway != value)
                { _Gateway = value; }
            }
        }

        [DataMember()]
        public String Date
        {
            get { return _Date; }
            set
            {
                if (_Date != value)
                { _Date = value; }
            }
        }

        [DataMember()]
        public String Description
        {
            get { return _Description; }
            set
            {
                if (_Description != value)
                {
                    _Description = value;
                }
            }
        }

        [DataMember()]
        public String Amountin
        {
            get { return _Amountin; }
            set
            {
                if (_Amountin != value)
                {
                    _Amountin = value;
                }
            }
        }

        [DataMember()]
        public String Fees
        {
            get { return _Fees; }
            set
            {
                if (_Fees != value)
                {
                    _Fees = value;
                }
            }
        }

        [DataMember()]
        public String Amountout
        {
            get { return _Amountout; }
            set
            {
                if (_Amountout != value)
                {
                    _Amountout = value;
                }
            }
        }

        [DataMember()]
        public String Rate
        {
            get { return _Rate; }
            set
            {
                if (_Rate != value)
                {
                    _Rate = value;
                }
            }
        }
      
        [DataMember()]
        public String Transid
        {
            get { return __Transid; }
            set
            {
                if (__Transid != value)
                { 
                    __Transid = value; 
                }
            }
        }

        [DataMember()]
        public String Invoiceid
        {
            get { return _Invoiceid; }
            set
            {
                if (_Invoiceid != value)
                {
                    _Invoiceid = value;
                }
            }
        }

        [DataMember()]
        public String Refundid
        {
            get { return _Refundid; }
            set
            {
                if (_Refundid != value)
                { _Refundid = value; }
            }
        }

        #endregion
    }
}
